import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;





public class Bibliotheque {
	
	public static HashMap<String,Integer> argFctPredefinie = new HashMap<String,Integer>();
	
	public static HashMap<String,Method> methodFctPredefinie = new HashMap<String,Method>();
	
//	(<non fct definie> <liste arg>)
	// liste des arguments pour les fct definie avec "pour"
	public static HashMap<String, ArrayList> argFctDefinie = new HashMap<String, ArrayList>(); 
	
	//	(<non fct definie> <liste arg>)
	// liste des arguments optionnel pour les fct definie avec "pour"
	public static HashMap<String, ArrayList> argOpFctDefinie = new HashMap<String, ArrayList>(); 
	
	//(<non fct definie> <corps>)
	//corps des fct definie avec "pour"
	public static  HashMap<String, ArrayList>  corpsFctDefinie = new HashMap<String, ArrayList>(); 
	
	
	public Bibliotheque(Logo logo) {
		
		Math m = new Math();
		Controle c = new Controle();
		Test t = new Test();
		GestionEnv g = new GestionEnv(this);
		Liste l = new Liste();
		EntreeSortie es = new EntreeSortie(logo);
		AffichageGraphique ag = new AffichageGraphique(logo.getExec(),logo.getConsol());
		Temps tps = new Temps();
		Texte txt = new Texte();
		
		argFctPredefinie.putAll(m.argFctPredefinie);
		argFctPredefinie.putAll(c.argFctPredefinie);
		argFctPredefinie.putAll(t.argFctPredefinie);
		argFctPredefinie.putAll(g.argFctPredefinie);
		argFctPredefinie.putAll(l.argFctPredefinie);
		argFctPredefinie.putAll(es.argFctPredefinie);
		argFctPredefinie.putAll(ag.argFctPredefinie);
		argFctPredefinie.putAll(tps.argFctPredefinie);
		argFctPredefinie.putAll(txt.argFctPredefinie);
		
		methodFctPredefinie.putAll(m.methodFctPredefinie);
		methodFctPredefinie.putAll(c.methodFctPredefinie);
		methodFctPredefinie.putAll(t.methodFctPredefinie);
		methodFctPredefinie.putAll(g.methodFctPredefinie);
		methodFctPredefinie.putAll(l.methodFctPredefinie);
		methodFctPredefinie.putAll(es.methodFctPredefinie);
		methodFctPredefinie.putAll(ag.methodFctPredefinie);
		methodFctPredefinie.putAll(tps.methodFctPredefinie);
		methodFctPredefinie.putAll(txt.methodFctPredefinie);
		
	}
}
